package jp.co.systemi.asp.workflow.data;
/**
 * リマインダーメールの元に、リマインダーの日時、リマインダー対象を管理する
 */
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.slim3.datastore.Attribute;
import org.slim3.datastore.CreationDate;
import org.slim3.datastore.CreationUser;
import org.slim3.datastore.Model;
import org.slim3.datastore.ModificationDate;
import org.slim3.datastore.ModificationUser;

import com.google.appengine.api.datastore.Key;
@Model
public class Reminder implements Serializable{
    private static final long serialVersionUID = -7005088091992506374L;
    @Attribute(primaryKey = true)
    private Key id;
    private Key reminderMail;	//　元のメール
    private Date reminderDate;	//　リマインダーメール送信日時
    private Boolean sendFlg;	// リマインダーメール送信済みフラグ
    private List<String> owner; 		// リマインダーの受信者（申込者）（メールアドレス）

    @Attribute(listener = CreationDate.class)
    private Date regDate = null;
    @Attribute(listener = CreationUser.class)
    private com.google.appengine.api.users.User regUser;
    @Attribute(listener = ModificationDate.class)
    private Date updDate = null;
    @Attribute(listener = ModificationUser.class)
    private com.google.appengine.api.users.User updUser;

    // 保存しない項目
    @Attribute(persistent = false)
    private Integer seq;		// 一覧画面の行毎で背景（シマウマ背景）を変更するため
    @Attribute(persistent = false)
    private String subject;		// 元メールのサブジェクト

    public com.google.appengine.api.users.User getRegUser() {
        return regUser;
    }

    public void setRegUser(com.google.appengine.api.users.User user) {
        this.regUser = user;
    }

    public void setUpdUser(com.google.appengine.api.users.User updUser) {
        this.updUser = updUser;
    }

    public com.google.appengine.api.users.User getUpdUser() {
        return updUser;
    }
    public Key getId() {
        return id;
    }

    public void setId(Key id) {
        this.id = id;
    }
    public Date getRegDate() {
        return regDate;
    }

    public void setRegDate(Date regDate) {
        this.regDate = regDate;
    }

    public Date getUpdDate() {
        return updDate;
    }

    public void setUpdDate(Date updDate) {
        this.updDate = updDate;
    }

    public Date getReminderDate() {
        return reminderDate;
    }

    public void setReminderDate(Date reminderDate) {
        this.reminderDate = reminderDate;
    }

    public Boolean getSendFlg() {
        return sendFlg;
    }

    public void setSendFlg(Boolean sendFlg) {
        this.sendFlg = sendFlg;
    }

    public Key getReminderMail() {
        return reminderMail;
    }

    public void setReminderMail(Key reminderMail) {
        this.reminderMail = reminderMail;
    }

    public void setOwner(List<String> owner) {
        this.owner = owner;
    }

    public List<String> getOwner() {
        return owner;
    }

    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

}
